+page.server.js 889 B

12345678910111213141516171819202122232425262728293031
  1. import { error } from '@sveltejs/kit';
  2. import { ObjectId } from 'mongodb';
  3. import { currencyImageSrc } from '#lib/currency.js';
  4. import { getDb } from '#lib/server/mongo.js';
  5. export const prerender = false;
  6. export async function load({ params }) {
  7. if (params.side !== 'front' && params.side !== 'back') error(404, 'Photo not found');
  8. if (!ObjectId.isValid(params.id)) error(404, 'Currency not found');
  9. const db = await getDb();
  10. const doc = await db.collection('currencies').findOne({
  11. _id: new ObjectId(params.id),
  12. location: params.location
  13. });
  14. if (!doc) error(404, 'Currency not found');
  15. const src =
  16. params.side === 'front' ? currencyImageSrc(doc.frontImage) : currencyImageSrc(doc.backImage);
  17. if (!src) error(404, 'Photo not found');
  18. return {
  19. id: String(doc._id),
  20. location: doc.location ?? params.location,
  21. name: doc.name ?? '',
  22. side: params.side,
  23. src
  24. };
  25. }